<?php
/**
 * アップロードされた画像編集クラス
 * 
 * @author tanaka
 * @package File
 * @subpackage ImageEditorUploaded
 */
class File_ImageEditorUploaded extends File_ImageEditor
{
	/**
	 * アップロードされたかフラグ
	 * @var bool
	 */
	protected $_isUploaded = false;

	/**
	 * アップロードされたか返します。
	 *
	 * @return bool
	 */
	public function isUploaded()
	{
		return $this->_isUploaded;
	}

	/**
	 * コンストラクタ
	 *
	 * @param string $name input type=fileのname属性
	 * @return
	 */
	public function __construct($name)
	{
		if (!isset($_FILES[$name])) return;

		$this->_isUploaded = true;
		$fileInfo = $_FILES[$name];

		switch (intval($fileInfo['error'])) {
			case UPLOAD_ERR_OK:
				break;

			case UPLOAD_ERR_NO_FILE:
				$this->_isUploaded = false;
				return;

			case UPLOAD_ERR_FORM_SIZE:
			case UPLOAD_ERR_INI_SIZE:
				$this->_error = parent::ERROR_UPLOAD_MAX_SIZE_OVER;
				return;

			default:
				$this->_error = parent::ERROR_ANYTHING_UPLOAD;
				return;
		}

		$targetFile = $fileInfo['tmp_name'];
		$fileName = $fileInfo['name'];
		$beforSize = $fileInfo['size'];
		parent::__construct($targetFile, $fileName, $beforSize);
	}
}
